package com.xht.service.impl;

import com.xht.utils.SecurityUtils;
import org.springframework.stereotype.Component;

import java.util.List;


@Component("ps")
public class PermissionService {
    /**
     * 判断当前用户是否具有permission
     *
     * @param permission 要判断的权限
     * @return
     */
    public boolean hasPermission(String permission) {
        //如果是超级管理员(id==1),直接返回
        if (SecurityUtils.isAdmin()) {
            return true;
        }
        //否则 获取当前登录用户所具有的权限列表 ,判断是否具有permission
        List<String> permissions = SecurityUtils.getLoginUser().getPermissions();
        //若permissions为null值单独判断一下,防止空指针异常
        if (permissions == null || permissions.isEmpty()) {
            return false;
        }
        return permissions.contains(permission);

    }
}
